home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 6 / CU Amiga Magazine's Super CD-ROM 06 (1996)(EMAP Images)(GB)(Track 1 of 4)[!][issue 1997-01].iso / cucd / prog / mui / modula / txt / muimacros.mod < prev    next >
Text File  |  1996-08-14  |  45KB  |  1,401 lines

  1. IMPLEMENTATION MODULE MuiMacros;
  2.  
  3. (*$ NilChk      := FALSE EntryClear  := FALSE LargeVars   := FALSE *)
  4. (*$ DEFINE Locale := TRUE *)
  5. (*$ DEFINE MUIOBSOLETE := FALSE *)
  6. (*$ DEFINE MUI3   := TRUE  *)
  7.  
  8. (****************************************************************************
  9. **
  10. ** $VER: MuiMacros.mod 3.6 (13.8.96)
  11. **
  12. ** The following updates have been done by
  13. **
  14. **   Olaf "Olf" Peters <olf@informatik.uni-bremen.de>
  15. **
  16. ** $HISTORY:
  17. **
  18. **  13.8.96  3.6   : updated for MUI 3.6 release
  19. **  21.2.96  3.3   : updated for MUI 3.3 release
  20. **  23.1.96  3.2   : updated for MUI 3.2 release
  21. ** 18.11.95  3.1   : updated for MUI 3.1 release
  22. **  17.9.95  2.3   : updated to MUI 2.3
  23. **
  24. ****************************************************************************)
  25.  
  26. (****************************************************************************
  27. **
  28. **      MUI Macros 2.0
  29. **
  30. **      Converted to Modula by Christian "Kochtopf" Scholz
  31. **
  32. **      $Id: MuiMacros.mod,v 1.10 1996/08/14 23:23:49 olf Exp olf $
  33. **
  34. **/// "$Log: MuiMacros.mod,v $
  35.  * Revision 1.10  1996/08/14  23:23:49  olf
  36.  * bumped to MUI 3.6
  37.  *
  38.  * Revision 1.9  1996/08/14  01:39:07  olf
  39.  * MUI 3.5
  40.  *
  41.  * Revision 1.8  1996/02/21  17:43:01  olf
  42.  * MUI 3.3 release
  43.  *
  44.  * Revision 1.7  1996/02/07  10:00:28  olf
  45.  * · when using MUIOBSOLETE=TRUE in MuiMacros, the TagBuffer was too small.
  46.  *     Fixed. (Marc Ewert)
  47.  *
  48.  * Revision 1.6  1996/01/25  20:24:36  olf
  49.  * revised for MUI 3.2
  50.  *
  51.  * Revision 1.5  1995/12/15  16:37:53  olf
  52.  * - applied changes from Stefan Schulz
  53.  * - cleanup of IMPORT section
  54.  *"
  55. # Revision 1.4  1995/12/04  17:30:31  olf
  56. # MUI-Interfaces 3.1.1
  57. #
  58. # Revision 1.3  1995/11/18  16:46:18  olf
  59. # MUI Release 3.1
  60. #
  61. # Revision 1.2  1995/10/23  17:06:34  olf
  62. # *** empty log message ***
  63. #
  64. # Revision 1.1  1995/09/25  15:32:52  olf
  65. # Initial revision
  66. #
  67. # Revision 1.8  1994/08/18  18:59:25  Kochtopf
  68. # changed img-argument in PopButton from ARRAY to APTR.
  69. # changed implementation of SimpleButton for -MUIOBSOLETE
  70. #
  71. # Revision 1.7  1994/08/11  16:59:45  Kochtopf
  72. # *** empty log message ***
  73. #
  74. # Revision 1.6  1994/06/27  22:06:41  Kochtopf
  75. # put some Macros in MUIOBSOLETE-Parenthesis, because one should
  76. # now use mMakeObj.
  77. #
  78. # Revision 1.5  1994/02/15  21:14:05  Kochtopf
  79. # neue Macros fuer Pop* und Register definiert,
  80. # HCenter und VCenter neu
  81. # PopUp entfernt und durch PopButton ersetzt.
  82. # neue Label-Macros LLabel eingefuehrt (aus mui.h)
  83. #
  84. # Revision 1.4  1994/02/09  14:50:03  Kochtopf
  85. # Versionsnummer in 2.0 geaendert.
  86. #
  87. **\\\
  88. ****************************************************************************)
  89.  
  90. FROM SYSTEM     IMPORT ADDRESS, ADR, TAG, CAST, SETREG, REG;
  91. FROM MuiD       IMPORT APTR, StrPtr ;
  92. FROM MuiSupport IMPORT DoMethod;
  93. FROM Storage    IMPORT ALLOCATE;
  94.  
  95. IMPORT
  96.   id : IntuitionD,
  97.   il : IntuitionL,
  98.   m  : MuiD,
  99.   ml : MuiL,
  100.   R,
  101.   ud : UtilityD ;
  102.  
  103. VAR
  104.  
  105. (*$ IF MUIOBSOLETE *)
  106.   buffer  : ARRAY [0..16] OF LONGINT;      (* for the tags *)
  107. (*$ ELSE *)
  108.   buffer  : ARRAY [0..8]  OF LONGINT;      (* for the tags *)
  109. (*$ ENDIF *)
  110.  
  111. (*///  "MUI-Object-Generation" *)
  112. (*
  113. **
  114. **  MUI - Object Generation
  115. **
  116. *)
  117.  
  118. PROCEDURE WindowObject(tags : ud.TagItemPtr) : APTR;
  119.     BEGIN
  120.         RETURN ml.mNewObject(ADR(m.mcWindow), tags);
  121.     END WindowObject;
  122.  
  123. PROCEDURE ImageObject(tags : ud.TagItemPtr) : APTR;
  124.     BEGIN
  125.         RETURN ml.mNewObject(ADR(m.mcImage), tags);
  126.     END ImageObject;
  127.  
  128. PROCEDURE BitmapObject(tags : ud.TagItemPtr) : APTR;
  129.     BEGIN
  130.         RETURN ml.mNewObject(ADR(m.mcBitmap), tags);
  131.     END BitmapObject;
  132.  
  133. PROCEDURE BodychunkObject(tags : ud.TagItemPtr) : APTR;
  134.     BEGIN
  135.         RETURN ml.mNewObject(ADR(m.mcBodychunk), tags);
  136.     END BodychunkObject;
  137.  
  138. PROCEDURE ApplicationObject(tags : ud.TagItemPtr) : APTR;
  139.     BEGIN
  140.         RETURN ml.mNewObject(ADR(m.mcApplication), tags);
  141.     END ApplicationObject;
  142.  
  143. PROCEDURE NotifyObject(tags : ud.TagItemPtr) : APTR;
  144.     BEGIN
  145.         RETURN ml.mNewObject(ADR(m.mcNotify), tags);
  146.     END NotifyObject;
  147.  
  148. PROCEDURE TextObject(tags : ud.TagItemPtr) : APTR;
  149.     BEGIN
  150.         RETURN ml.mNewObject(ADR(m.mcText), tags);
  151.     END TextObject;
  152.  
  153. PROCEDURE RectangleObject(tags : ud.TagItemPtr) : APTR;
  154.     BEGIN
  155.         RETURN ml.mNewObject(ADR(m.mcRectangle), tags);
  156.     END RectangleObject;
  157.  
  158. PROCEDURE ListObject(tags : ud.TagItemPtr) : APTR;
  159.     BEGIN
  160.         RETURN ml.mNewObject(ADR(m.mcList), tags);
  161.     END ListObject;
  162.  
  163. PROCEDURE PropObject(tags : ud.TagItemPtr) : APTR;
  164.     BEGIN
  165.         RETURN ml.mNewObject(ADR(m.mcProp), tags);
  166.     END PropObject;
  167.  
  168. PROCEDURE StringObject(tags : ud.TagItemPtr) : APTR;
  169.     BEGIN
  170.         RETURN ml.mNewObject(ADR(m.mcString), tags);
  171.     END StringObject;
  172.  
  173. PROCEDURE ScrollbarObject(tags : ud.TagItemPtr) : APTR;
  174.     BEGIN
  175.         RETURN ml.mNewObject(ADR(m.mcScrollbar), tags);
  176.     END ScrollbarObject;
  177.  
  178. PROCEDURE ListviewObject(tags : ud.TagItemPtr) : APTR;
  179.     BEGIN
  180.         RETURN ml.mNewObject(ADR(m.mcListview), tags);
  181.     END ListviewObject;
  182.  
  183. PROCEDURE RadioObject(tags : ud.TagItemPtr) : APTR;
  184.     BEGIN
  185.         RETURN ml.mNewObject(ADR(m.mcRadio), tags);
  186.     END RadioObject;
  187.  
  188. PROCEDURE VolumelistObject(tags : ud.TagItemPtr) : APTR;
  189.     BEGIN
  190.         RETURN ml.mNewObject(ADR(m.mcVolumelist), tags);
  191.     END VolumelistObject;
  192.  
  193. PROCEDURE FloattextObject(tags : ud.TagItemPtr) : APTR;
  194.     BEGIN
  195.         RETURN ml.mNewObject(ADR(m.mcFloattext), tags);
  196.     END FloattextObject;
  197.  
  198. PROCEDURE DirlistObject(tags : ud.TagItemPtr) : APTR;
  199.     BEGIN
  200.         RETURN ml.mNewObject(ADR(m.mcDirlist), tags);
  201.     END DirlistObject;
  202.  
  203. PROCEDURE ScrmodelistObject(tags : ud.TagItemPtr) : APTR;
  204.     BEGIN
  205.         RETURN ml.mNewObject(ADR(m.mcScrmodelist), tags);
  206.     END ScrmodelistObject;
  207.  
  208. PROCEDURE SliderObject(tags : ud.TagItemPtr) : APTR;
  209.     BEGIN
  210.         RETURN ml.mNewObject(ADR(m.mcSlider), tags);
  211.     END SliderObject;
  212.  
  213. PROCEDURE CycleObject(tags : ud.TagItemPtr) : APTR;
  214.     BEGIN
  215.         RETURN ml.mNewObject(ADR(m.mcCycle), tags);
  216.     END CycleObject;
  217.  
  218. PROCEDURE GaugeObject(tags : ud.TagItemPtr) : APTR;
  219.     BEGIN
  220.         RETURN ml.mNewObject(ADR(m.mcGauge), tags);
  221.     END GaugeObject;
  222.  
  223. PROCEDURE BoopsiObject(tags : ud.TagItemPtr) : APTR;
  224.     BEGIN
  225.         RETURN ml.mNewObject(ADR(m.mcBoopsi), tags);
  226.     END BoopsiObject;
  227.  
  228. PROCEDURE ScaleObject(tags : ud.TagItemPtr) : APTR;
  229.     BEGIN
  230.         RETURN ml.mNewObject(ADR(m.mcScale), tags);
  231.     END ScaleObject;
  232.  
  233. PROCEDURE GroupObject(tags : ud.TagItemPtr) : APTR;
  234.     BEGIN
  235.         RETURN ml.mNewObject(ADR(m.mcGroup), tags);
  236.     END GroupObject;
  237.  
  238. PROCEDURE VGroup(tags : ud.TagItemPtr) : APTR;
  239.     BEGIN
  240.         RETURN ml.mNewObject(ADR(m.mcGroup), tags);
  241.     END VGroup;
  242.  
  243. PROCEDURE HGroup(tags : ud.TagItemPtr) : APTR;
  244.     BEGIN
  245.         RETURN ml.mNewObject(ADR(m.mcGroup), TAG(buffer, m.maGroupHoriz, TRUE, ud.tagMore, tags, ud.tagEnd));
  246.     END HGroup;
  247.  
  248. PROCEDURE ColGroup(cols : LONGCARD; tags : ud.TagItemPtr) : APTR;
  249.     BEGIN
  250.         RETURN ml.mNewObject(ADR(m.mcGroup), TAG(buffer, m.maGroupColumns, cols, ud.tagMore, tags, ud.tagEnd));
  251.     END ColGroup;
  252.  
  253. PROCEDURE RowGroup(rows : LONGCARD; tags : ud.TagItemPtr) : APTR;
  254.     BEGIN
  255.         RETURN ml.mNewObject(ADR(m.mcGroup), TAG(buffer, m.maGroupRows, rows, ud.tagMore, tags, ud.tagEnd));
  256.     END RowGroup;
  257.  
  258. PROCEDURE PageGroup(tags : ud.TagItemPtr) : APTR;
  259.     BEGIN
  260.          RETURN ml.mNewObject(ADR(m.mcGroup),TAG(buffer, m.maGroupPageMode, TRUE, ud.tagMore, tags, ud.tagEnd));
  261.     END PageGroup;
  262.  
  263. PROCEDURE ColorfieldObject(tags : ud.TagItemPtr) : APTR;
  264.     BEGIN
  265.          RETURN ml.mNewObject(ADR(m.mcColorfield), tags);
  266.     END ColorfieldObject;
  267.  
  268. PROCEDURE ColoradjustObject(tags : ud.TagItemPtr) : APTR;
  269.     BEGIN
  270.          RETURN ml.mNewObject(ADR(m.mcColoradjust), tags);
  271.     END ColoradjustObject;
  272.  
  273. PROCEDURE PaletteObject(tags : ud.TagItemPtr) : APTR;
  274.     BEGIN
  275.          RETURN ml.mNewObject(ADR(m.mcPalette), tags);
  276.     END PaletteObject;
  277.  
  278. PROCEDURE VirtgroupObject(tags : ud.TagItemPtr) : APTR;
  279.     BEGIN
  280.          RETURN ml.mNewObject(ADR(m.mcVirtgroup), tags);
  281.     END VirtgroupObject;
  282.  
  283. PROCEDURE ScrollgroupObject(tags : ud.TagItemPtr) : APTR;
  284.     BEGIN
  285.          RETURN ml.mNewObject(ADR(m.mcScrollgroup), tags);
  286.     END ScrollgroupObject;
  287.  
  288. PROCEDURE VGroupV(tags : ud.TagItemPtr) : APTR;
  289.     BEGIN
  290.          RETURN ml.mNewObject(ADR(m.mcVirtgroup), tags);
  291.     END VGroupV;
  292.  
  293. PROCEDURE HGroupV(tags : ud.TagItemPtr) : APTR;
  294.     BEGIN
  295.         RETURN ml.mNewObject(ADR(m.mcVirtgroup), TAG(buffer, m.maGroupHoriz, TRUE, ud.tagMore, tags, ud.tagEnd));
  296.     END HGroupV;
  297.  
  298. PROCEDURE ColGroupV(cols : LONGCARD; tags : ud.TagItemPtr) : APTR;
  299.     BEGIN
  300.         RETURN ml.mNewObject(ADR(m.mcVirtgroup), TAG(buffer, m.maGroupColumns, cols, ud.tagMore, tags, ud.tagEnd));
  301.     END ColGroupV;
  302.  
  303. PROCEDURE RowGroupV(rows : LONGCARD; tags : ud.TagItemPtr) : APTR;
  304.     BEGIN
  305.         RETURN ml.mNewObject(ADR(m.mcVirtgroup), TAG(buffer, m.maGroupRows, rows, ud.tagMore, tags, ud.tagEnd));
  306.     END RowGroupV;
  307.  
  308. PROCEDURE PageGroupV(tags : ud.TagItemPtr) : APTR;
  309.     BEGIN
  310.          RETURN ml.mNewObject(ADR(m.mcVirtgroup),TAG(buffer, m.maGroupPageMode, TRUE, ud.tagMore, tags, ud.tagEnd));
  311.     END PageGroupV;
  312.  
  313. PROCEDURE PopString(tags : ud.TagItemPtr) : APTR;
  314.     BEGIN
  315.          RETURN ml.mNewObject(ADR(m.mcPopstring), tags);
  316.     END PopString;
  317.  
  318. PROCEDURE PopObject(tags : ud.TagItemPtr) : APTR;
  319.     BEGIN
  320.          RETURN ml.mNewObject(ADR(m.mcPopobject), tags);
  321.     END PopObject;
  322.  
  323. PROCEDURE PopAsl(tags : ud.TagItemPtr) : APTR;
  324.     BEGIN
  325.          RETURN ml.mNewObject(ADR(m.mcPopasl), tags);
  326.     END PopAsl;
  327.  
  328. (*$ IF MUI3 *)
  329.  
  330. PROCEDURE PendisplayObject(tags : ud.TagItemPtr) : APTR ;
  331.     BEGIN
  332.          RETURN ml.mNewObject(ADR(m.mcPendisplay), tags) ;
  333.     END PendisplayObject ;
  334.  
  335. PROCEDURE PoppenObject(tags : ud.TagItemPtr) : APTR ;
  336.     BEGIN
  337.          RETURN ml.mNewObject(ADR(m.mcPoppen), tags);
  338.     END PoppenObject ;
  339.  
  340. (*$ ENDIF *)
  341.  
  342. PROCEDURE Register(tags : ud.TagItemPtr) : APTR;
  343.     BEGIN
  344.          RETURN ml.mNewObject(ADR(m.mcRegister), tags);
  345.     END Register;
  346.  
  347. PROCEDURE MenuStripObject(tags : ud.TagItemPtr) : APTR;
  348.     BEGIN
  349.          RETURN ml.mNewObject(ADR(m.mcMenustrip), tags);
  350.     END MenuStripObject;
  351.  
  352. PROCEDURE MenuObject(tags : ud.TagItemPtr) : APTR;
  353.     BEGIN
  354.          RETURN ml.mNewObject(ADR(m.mcMenu), tags);
  355.     END MenuObject;
  356.  
  357. (*$ IF Locale *)
  358. PROCEDURE MenuObjectT(name : StrPtr; tags : ud.TagItemPtr) : APTR;
  359. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  360. PROCEDURE MenuObjectT(name : ARRAY OF CHAR; tags : ud.TagItemPtr) : APTR;
  361. (*$ ENDIF *)
  362.     BEGIN
  363.          (*$ IF Locale *)
  364.          RETURN ml.mNewObject(ADR(m.mcMenu), TAG(buffer, m.maMenuTitle, name, ud.tagMore, tags, ud.tagEnd));
  365.          (*$ ELSE *)
  366.          RETURN ml.mNewObject(ADR(m.mcMenu), TAG(buffer, m.maMenuTitle, ADR(name), ud.tagMore, tags, ud.tagEnd));
  367.          (*$ ENDIF *)
  368.     END MenuObjectT;
  369.  
  370. PROCEDURE MenuItemObject(tags : ud.TagItemPtr) : APTR;
  371.     BEGIN
  372.          RETURN ml.mNewObject(ADR(m.mcMenuitem), tags);
  373.     END MenuItemObject;
  374.  
  375.  
  376. (*$ IF MUI3 *)
  377.  
  378. PROCEDURE AboutmuiObject(tags : ud.TagItemPtr) : APTR;
  379.     BEGIN
  380.          RETURN ml.mNewObject(ADR(m.mcAboutmui), tags);
  381.     END AboutmuiObject;
  382.  
  383. PROCEDURE BalanceObject(tags : ud.TagItemPtr) : APTR ;
  384.     BEGIN
  385.          RETURN ml.mNewObject(ADR(m.mcBalance), tags);
  386.     END BalanceObject;
  387.  
  388. PROCEDURE KnobObject(tags : ud.TagItemPtr) : APTR ;
  389.     BEGIN
  390.          RETURN ml.mNewObject(ADR(m.mcKnob), tags);
  391.     END KnobObject;
  392.  
  393. PROCEDURE LevelmeterObject(tags : ud.TagItemPtr) : APTR ;
  394.     BEGIN
  395.          RETURN ml.mNewObject(ADR(m.mcLevelmeter), tags);
  396.     END LevelmeterObject;
  397.  
  398. PROCEDURE NumericbuttonObject(tags : ud.TagItemPtr) : APTR ;
  399.     BEGIN
  400.          RETURN ml.mNewObject(ADR(m.mcNumericbutton), tags);
  401.     END NumericbuttonObject;
  402.  
  403. PROCEDURE NumericObject(tags : ud.TagItemPtr) : APTR ;
  404.     BEGIN
  405.          RETURN ml.mNewObject(ADR(m.mcNumeric), tags);
  406.     END NumericObject;
  407.  
  408. PROCEDURE PenadjustObject(tags : ud.TagItemPtr) : APTR ;
  409.     BEGIN
  410.          RETURN ml.mNewObject(ADR(m.mcPenadjust), tags);
  411.     END PenadjustObject;
  412.  
  413. (*$ ENDIF *)
  414.  
  415.  
  416. (*\\\*)
  417. (*///  "MakeID" *)
  418. (*
  419. **  MakeID
  420. **  Generate an ID out of a 4-char-string.
  421. **  Use it the as WindowID ! (look in MuiTest for an example!)
  422. *)
  423.  
  424. PROCEDURE MakeID (name : ShortString): LONGINT;
  425.  
  426.     BEGIN
  427.         RETURN ORD(name[0])+
  428.                ORD(name[1])*256+
  429.                ORD(name[2])*65536+
  430.                ORD(name[3])*16777216;
  431.     END MakeID;
  432. (*\\\*)
  433. (*///  "Hook-Support" *)
  434. (*
  435. **  Hook-Support functions
  436. **  1. the dispatcher
  437. **  2. the MakeHook-Function
  438. **
  439. *)
  440.  
  441. PROCEDURE HookEntry(hook{R.A0}  : ud.HookPtr;
  442.                     object{R.A2}: ADDRESS;
  443.                     args{R.A1}  : ADDRESS)     : ADDRESS;
  444.     (*$SaveA4:=TRUE*)
  445.     BEGIN
  446.         SETREG (R.A4, hook^.data);
  447.         RETURN CAST(HookDef,hook^.subEntry)(hook, object, args);
  448.     END HookEntry;
  449.  
  450. PROCEDURE MakeHook(entry:HookDef; VAR hook : ud.HookPtr);
  451.  
  452.     BEGIN
  453.             ALLOCATE(hook,SIZE(ud.Hook));
  454.             hook^.node.succ  := NIL;
  455.             hook^.node.pred  := NIL;
  456.             hook^.entry      := HookEntry;
  457.             hook^.subEntry   := CAST(ADDRESS,entry);
  458.             hook^.data       := REG(R.A4);
  459.     END MakeHook;
  460. (*\\\*)
  461. (*///  "Spacing-Macros" *)
  462. (*
  463. **
  464. **  Spacing Macros
  465. **
  466. *)
  467. (*///  "HV-Space" *)
  468. PROCEDURE HVSpace() : APTR;
  469.     BEGIN
  470.         RETURN ml.mNewObject(ADR(m.mcRectangle), NIL);
  471.     END HVSpace;
  472. (*\\\*)
  473. (*///  "Hspace" *)
  474. PROCEDURE HSpace(x : LONGCARD) : APTR;
  475.     BEGIN
  476.         IF x#0 THEN
  477.                 RETURN ml.mNewObject(ADR(m.mcRectangle),
  478.                                      TAG(buffer,
  479.                                         m.maFixWidth,     x,
  480.                                         m.maVertWeight,   0,
  481.                                         ud.tagEnd));
  482.                 ELSE
  483.                 RETURN ml.mNewObject(ADR(m.mcRectangle),
  484.                                      TAG(buffer,
  485.                                         m.maVertWeight,   0,
  486.                                         ud.tagEnd));
  487.                 END;
  488.     END HSpace;
  489. (*\\\*)
  490. (*///  "VSpace" *)
  491. PROCEDURE VSpace(x : LONGCARD) : APTR;
  492.     BEGIN
  493.         IF x#0 THEN
  494.                 RETURN ml.mNewObject(ADR(m.mcRectangle),
  495.                                      TAG(buffer,
  496.                                         m.maFixHeight,     x,
  497.                                         m.maHorizWeight,   0,
  498.                                         ud.tagEnd));
  499.                 ELSE
  500.                 RETURN ml.mNewObject(ADR(m.mcRectangle),
  501.                                      TAG(buffer,
  502.                                         m.maHorizWeight,   0,
  503.                                         ud.tagEnd));
  504.                 END;
  505.     END VSpace;
  506. (*\\\*)
  507. (*///  "HCenter" *)
  508. PROCEDURE HCenter(obj : APTR) : APTR;
  509.     BEGIN
  510.         RETURN HGroup(TAG(buffer,
  511.                     m.maGroupSpacing,      0,
  512.                     Child,                  HSpace(0),
  513.                     Child,                  obj,
  514.                     Child,                  HSpace(0),
  515.                     ud.tagEnd));
  516.     END HCenter;
  517. (*\\\*)
  518. (*///  "VCenter" *)
  519. PROCEDURE VCenter(obj : APTR) : APTR;
  520.     BEGIN
  521.         RETURN VGroup(TAG(buffer,
  522.                     m.maGroupSpacing,      0,
  523.                     Child,                  VSpace(0),
  524.                     Child,                  obj,
  525.                     Child,                  VSpace(0),
  526.                     ud.tagEnd));
  527.     END VCenter;
  528. (*\\\*)
  529. (*\\\*)
  530. (*///  "PopButton" *)
  531. (*
  532. **
  533. **  PopUp-Button
  534. **
  535. **  to be used for Popup-Objects
  536. **
  537. *)
  538.  
  539. PROCEDURE PopButton(img : APTR) : APTR;
  540.     BEGIN
  541.         RETURN ml.MakeObject(m.moPopButton, TAG(buffer, img));
  542.     END PopButton;
  543. (*\\\*)
  544.  
  545. (*$ IF MUIOBSOLETE *)
  546.  
  547. (*
  548. **
  549. ** String-Object
  550. **
  551. ** Makes a simple String-Gadget
  552. **
  553. *)
  554.  
  555. (*///  "StringObjects" *)
  556. (*$ IF Locale *)
  557. PROCEDURE String(contents : StrPtr; maxlen : LONGINT) : APTR;
  558. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  559. PROCEDURE String(contents : ARRAY OF CHAR; maxlen : LONGINT) : APTR;
  560. (*$ ENDIF *)
  561.     BEGIN
  562.         RETURN StringObject(TAG(buffer,
  563.                             m.maFrame,            m.mvFrameString,
  564.                             m.maStringMaxLen,     maxlen,
  565.                             (*$ IF Locale *)
  566.                                 m.maStringContents,   contents,
  567.                             (*$ ELSE *)
  568.                                 m.maStringContents,   ADR(contents),
  569.                             (*$ ENDIF *)
  570.                             ud.tagEnd));
  571.     END String;
  572. (*$ IF Locale *)
  573. PROCEDURE KeyString(contents : StrPtr; maxlen : LONGINT; key : CHAR) : APTR;
  574. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  575. PROCEDURE KeyString(contents : ARRAY OF CHAR; maxlen : LONGINT; key : CHAR) : APTR;
  576. (*$ ENDIF *)
  577.     BEGIN
  578.         RETURN StringObject(TAG(buffer,
  579.                             m.maFrame,             m.mvFrameString,
  580.                             m.maStringMaxLen,      maxlen,
  581.                             (*$ IF Locale *)
  582.                                 m.maStringContents,    contents,
  583.                             (*$ ELSE *)
  584.                                 m.maStringContents,    ADR(contents),
  585.                             (*$ ENDIF *)
  586.                             m.maControlChar,       key,
  587.                             ud.tagEnd));
  588.     END KeyString;
  589. (*\\\*)
  590.  
  591. (*
  592. **
  593. ** Checkmark
  594. **
  595. *)
  596.  
  597. (*///  "Checkmarks" *)
  598. PROCEDURE Checkmark(selected : BOOLEAN) : APTR;
  599.     BEGIN
  600.         RETURN ImageObject( TAG(buffer,
  601.                             m.maFrame,            m.mvFrameImageButton,
  602.                             m.maInputMode,        m.mvInputModeToggle,
  603.                             m.maImageSpec,        m.miCheckMark,
  604.                             m.maImageFreeVert,    TRUE,
  605.                             m.maSelected,         selected,
  606.                             m.maBackground,       m.miButtonBack,
  607.                             m.maShowSelState,     FALSE,
  608.                             ud.tagEnd));
  609.     END Checkmark;
  610.  
  611. PROCEDURE KeyCheckmark(selected : BOOLEAN; key : CHAR) : APTR;
  612.     BEGIN
  613.         RETURN ImageObject( TAG(buffer,
  614.                             m.maFrame,            m.mvFrameImageButton,
  615.                             m.maInputMode,        m.mvInputModeToggle,
  616.                             m.maImageSpec,        m.miCheckMark,
  617.                             m.maImageFreeVert,    TRUE,
  618.                             m.maSelected,         selected,
  619.                             m.maBackground,       m.miButtonBack,
  620.                             m.maShowSelState,     FALSE,
  621.                             m.maControlChar,      key,
  622.                             ud.tagEnd));
  623.     END KeyCheckmark;
  624.  
  625. (*\\\*)
  626.  
  627. (*
  628. **
  629. ** Buttons
  630. **
  631. *)
  632.  
  633. (*///  "Buttons" *)
  634.  
  635. (*$ IF Locale *)
  636. PROCEDURE Keybutton(name : StrPtr; key : CHAR) : APTR;
  637. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  638. PROCEDURE Keybutton(name : ARRAY OF CHAR; key : CHAR) : APTR;
  639. (*$ ENDIF *)
  640.     BEGIN
  641.         RETURN TextObject(  TAG(buffer,
  642.                             m.maFrame,            m.mvFrameButton,
  643.                             (*$ IF Locale *)
  644.                                 m.maTextContents,     name,
  645.                             (*$ ELSE *)
  646.                                 m.maTextContents,     ADR(name),
  647.                             (*$ ENDIF *)
  648.                             m.maTextPreParse,     ADR("\033c"),
  649.                             m.maTextSetMax,       FALSE,
  650.                             m.maTextHiChar,       key,
  651.                             m.maControlChar,      key,
  652.                             m.maInputMode,        m.mvInputModeRelVerify,
  653.                             m.maBackground,       m.miButtonBack,
  654.                             ud.tagEnd));
  655.  
  656.     END Keybutton;
  657.  
  658. (*\\\*)
  659.  
  660. (*
  661. **
  662. **  Radio Object
  663. **
  664. *)
  665.  
  666. (*///  "RadioObjects" *)
  667. (*$ IF Locale *)
  668. PROCEDURE Radio(name : StrPtr; array : APTR) : APTR;
  669. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  670. PROCEDURE Radio(name : ARRAY OF CHAR; array : APTR) : APTR;
  671. (*$ ENDIF *)
  672.     BEGIN
  673.         RETURN RadioObject( TAG(buffer,
  674.                             m.maFrame,             m.mvFrameGroup,
  675.                             (*$ IF Locale *)
  676.                                 m.maFrameTitle,        name,
  677.                             (*$ ELSE *)
  678.                                 m.maFrameTitle,        ADR(name),
  679.                             (*$ ENDIF *)
  680.                             m.maRadioEntries,      array,
  681.                             ud.tagEnd));
  682.     END Radio;
  683.  
  684. (*$ IF Locale *)
  685. PROCEDURE KeyRadio(name : StrPtr; array : APTR; key : CHAR) : APTR;
  686. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  687. PROCEDURE KeyRadio(name : ARRAY OF CHAR; array : APTR; key : CHAR) : APTR;
  688. (*$ ENDIF *)
  689.     BEGIN
  690.         RETURN RadioObject( TAG(buffer,
  691.                             m.maFrame,             m.mvFrameGroup,
  692.                             (*$ IF Locale *)
  693.                                 m.maFrameTitle,        name,
  694.                             (*$ ELSE *)
  695.                                 m.maFrameTitle,        ADR(name),
  696.                             (*$ ENDIF *)
  697.                             m.maTextHiChar,        key,
  698.                             m.maControlChar,       key,
  699.                             m.maRadioEntries,      array,
  700.                             ud.tagEnd));
  701.     END KeyRadio;
  702.  
  703. (*\\\*)
  704.  
  705. (*
  706. **
  707. **  Cycle-Objects
  708. **
  709. *)
  710.  
  711. (*///  "Cycle" *)
  712. PROCEDURE Cycle(array : APTR) : APTR;
  713.     BEGIN
  714.         RETURN CycleObject(TAG(buffer,
  715.                             m.maCycleEntries,      array,
  716.                             ud.tagEnd));
  717.     END Cycle;
  718.  
  719.  
  720. PROCEDURE KeyCycle(array : APTR; key : CHAR) : APTR;
  721.     BEGIN
  722.         RETURN CycleObject(TAG(buffer,
  723.                             m.maCycleEntries,      array,
  724.                             m.maControlChar,       key,
  725.                             ud.tagEnd));
  726.     END KeyCycle;
  727. (*\\\*)
  728.  
  729. (*
  730. **
  731. **  Slider-Objects
  732. **
  733. *)
  734.  
  735. (*///  "Slider" *)
  736. PROCEDURE Slider(min,max,level : LONGINT; horiz : BOOLEAN) : APTR;
  737.     BEGIN
  738.         RETURN SliderObject(TAG(buffer,
  739.                             m.maGroupHoriz,        horiz,
  740. (*$ IF MUI3 *)
  741.                             m.maNumericValue,      level,
  742.                             m.maNumericMax,        max,
  743.                             m.maNumericMin,        min,
  744. (*$ ELSE *)
  745.                             m.maSliderLevel,       level,
  746.                             m.maSliderMax,         max,
  747.                             m.maSliderMin,         min,
  748. (*$ ENDIF *)
  749.                             ud.tagEnd));
  750.     END Slider;
  751.  
  752. PROCEDURE KeySlider(min,max,level : LONGINT; horiz : BOOLEAN;
  753.                         key : CHAR) : APTR;
  754.     BEGIN
  755.         RETURN SliderObject(TAG(buffer,
  756.                             m.maGroupHoriz,        horiz,
  757. (*$ IF MUI3 *)
  758.                             m.maNumericValue,      level,
  759.                             m.maNumericMax,        max,
  760.                             m.maNumericMin,        min,
  761. (*$ ELSE *)
  762.                             m.maSliderLevel,       level,
  763.                             m.maSliderMax,         max,
  764.                             m.maSliderMin,         min,
  765. (*$ ENDIF *)
  766.                             m.maControlChar,       key,
  767.                             ud.tagEnd));
  768.     END KeySlider;
  769. (*\\\*)
  770.  
  771. (*$ ENDIF *) (* MUIOBSOLETE *)
  772.  
  773. (*/// "Simplebutton" *)
  774.  
  775. (*$ IF Locale *)
  776. PROCEDURE Simplebutton(name : StrPtr) : APTR;
  777.     BEGIN
  778.         RETURN ml.MakeObject(m.moButton, TAG(buffer, name));
  779.     END Simplebutton;
  780. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  781. PROCEDURE Simplebutton(name : ARRAY OF CHAR) : APTR;
  782.     BEGIN
  783.         RETURN ml.MakeObject(m.moButton, TAG(buffer, ADR(name)));
  784.     END Simplebutton;
  785. (*$ ENDIF *) (* Locale *)
  786. (*\\\*)
  787.  
  788. (*
  789. **
  790. ** Label Objects
  791. **
  792. *)
  793.  
  794. (*///  "LabelX" *)
  795. (*$ IF Locale *)
  796. PROCEDURE Label(label : StrPtr) : APTR;
  797. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  798. PROCEDURE Label(label : ARRAY OF CHAR) : APTR;
  799. (*$ ENDIF *)
  800.     BEGIN
  801. (*$ IF Locale *)
  802.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  0, ud.tagEnd)) ;
  803. (*$ ELSE *)
  804.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), 0, ud.tagEnd)) ;
  805. (*$ ENDIF *)
  806.     END Label;
  807.  
  808. (*$ IF Locale *)
  809. PROCEDURE Label1(label : StrPtr) : APTR;
  810. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  811. PROCEDURE Label1(label : ARRAY OF CHAR) : APTR;
  812. (*$ ENDIF *)
  813.     BEGIN
  814. (*$ IF Locale *)
  815.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  m.MOLabelFlagSet{m.singleFrame}, ud.tagEnd)) ;
  816. (*$ ELSE *)
  817.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), m.MOLabelFlagSet{m.singleFrame}, ud.tagEnd)) ;
  818. (*$ ENDIF *)
  819.     END Label1;
  820.  
  821. (*$ IF Locale *)
  822. PROCEDURE Label2(label : StrPtr) : APTR;
  823. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  824. PROCEDURE Label2(label : ARRAY OF CHAR) : APTR;
  825. (*$ ENDIF *)
  826.     BEGIN
  827. (*$ IF Locale *)
  828.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  m.MOLabelFlagSet{m.doubleFrame}, ud.tagEnd)) ;
  829. (*$ ELSE *)
  830.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), m.MOLabelFlagSet{m.doubleFrame}, ud.tagEnd)) ;
  831. (*$ ENDIF *)
  832.     END Label2;
  833. (*\\\*)
  834. (*///  "LLabelX" *)
  835. (*$ IF Locale *)
  836. PROCEDURE LLabel(label : StrPtr) : APTR;
  837. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  838. PROCEDURE LLabel(label : ARRAY OF CHAR) : APTR;
  839. (*$ ENDIF *)
  840.     BEGIN
  841. (*$ IF Locale *)
  842.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  m.MOLabelFlagSet{m.leftAligned}, ud.tagEnd)) ;
  843. (*$ ELSE *)
  844.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), m.MOLabelFlagSet{m.leftAligned}, ud.tagEnd)) ;
  845. (*$ ENDIF *)
  846.     END LLabel;
  847.  
  848.  
  849. (*$ IF Locale *)
  850. PROCEDURE LLabel1(label : StrPtr) : APTR;
  851. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  852. PROCEDURE LLabel1(label : ARRAY OF CHAR) : APTR;
  853. (*$ ENDIF *)
  854.     BEGIN
  855. (*$ IF Locale *)
  856.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  m.MOLabelFlagSet{m.leftAligned, m.singleFrame}, ud.tagEnd)) ;
  857. (*$ ELSE *)
  858.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), m.MOLabelFlagSet{m.leftAligned, m.singleFrame}, ud.tagEnd)) ;
  859. (*$ ENDIF *)
  860.     END LLabel1;
  861.  
  862.  
  863. (*$ IF Locale *)
  864. PROCEDURE LLabel2(label : StrPtr) : APTR;
  865. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  866. PROCEDURE LLabel2(label : ARRAY OF CHAR) : APTR;
  867. (*$ ENDIF *)
  868.     BEGIN
  869. (*$ IF Locale *)
  870.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  m.MOLabelFlagSet{m.leftAligned, m.doubleFrame}, ud.tagEnd)) ;
  871. (*$ ELSE *)
  872.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), m.MOLabelFlagSet{m.leftAligned, m.doubleFrame}, ud.tagEnd)) ;
  873. (*$ ENDIF *)
  874.     END LLabel2;
  875. (*\\\*)
  876. (*///  "CLabelX" *)
  877. (*$ IF Locale *)
  878. PROCEDURE CLabel(label : StrPtr) : APTR;
  879. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  880. PROCEDURE CLabel(label : ARRAY OF CHAR) : APTR;
  881. (*$ ENDIF *)
  882.     BEGIN
  883. (*$ IF Locale *)
  884.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  m.MOLabelFlagSet{m.centered}, ud.tagEnd)) ;
  885. (*$ ELSE *)
  886.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), m.MOLabelFlagSet{m.centered}, ud.tagEnd)) ;
  887. (*$ ENDIF *)
  888.     END CLabel;
  889.  
  890.  
  891. (*$ IF Locale *)
  892. PROCEDURE CLabel1(label : StrPtr) : APTR;
  893. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  894. PROCEDURE CLabel1(label : ARRAY OF CHAR) : APTR;
  895. (*$ ENDIF *)
  896.     BEGIN
  897. (*$ IF Locale *)
  898.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  m.MOLabelFlagSet{m.centered, m.singleFrame}, ud.tagEnd)) ;
  899. (*$ ELSE *)
  900.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), m.MOLabelFlagSet{m.centered, m.singleFrame}, ud.tagEnd)) ;
  901. (*$ ENDIF *)
  902.     END CLabel1;
  903.  
  904.  
  905. (*$ IF Locale *)
  906. PROCEDURE CLabel2(label : StrPtr) : APTR;
  907. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  908. PROCEDURE CLabel2(label : ARRAY OF CHAR) : APTR;
  909. (*$ ENDIF *)
  910.     BEGIN
  911. (*$ IF Locale *)
  912.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  m.MOLabelFlagSet{m.centered, m.doubleFrame}, ud.tagEnd)) ;
  913. (*$ ELSE *)
  914.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), m.MOLabelFlagSet{m.centered, m.doubleFrame}, ud.tagEnd)) ;
  915. (*$ ENDIF *)
  916.     END CLabel2;
  917. (*\\\*)
  918.  
  919. (*///  "KeyLabelX" *)
  920. (*$ IF Locale *)
  921. PROCEDURE KeyLabel(label : StrPtr; HiChar : CHAR) : APTR;
  922. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  923. PROCEDURE KeyLabel(label : ARRAY OF CHAR; HiChar : CHAR) : APTR;
  924. (*$ ENDIF *)
  925.     BEGIN
  926. (*$ IF Locale *)
  927.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  HiChar, ud.tagEnd)) ;
  928. (*$ ELSE *)
  929.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), HiChar, ud.tagEnd)) ;
  930. (*$ ENDIF *)
  931.     END KeyLabel;
  932.  
  933.  
  934. (*$ IF Locale *)
  935. PROCEDURE KeyLabel1(label : StrPtr; HiChar : CHAR) : APTR;
  936. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  937. PROCEDURE KeyLabel1(label : ARRAY OF CHAR; HiChar : CHAR) : APTR;
  938. (*$ ENDIF *)
  939.     BEGIN
  940. (*$ IF Locale *)
  941.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  CAST(LONGCARD, m.MOLabelFlagSet{m.singleFrame}) + LONGCARD(HiChar), ud.tagEnd)) ;
  942. (*$ ELSE *)
  943.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), CAST(LONGCARD, m.MOLabelFlagSet{m.singleFrame}) + LONGCARD(HiChar), ud.tagEnd)) ;
  944. (*$ ENDIF *)
  945.     END KeyLabel1;
  946.  
  947.  
  948. (*$ IF Locale *)
  949. PROCEDURE KeyLabel2(label : StrPtr; HiChar : CHAR) : APTR;
  950. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  951. PROCEDURE KeyLabel2(label : ARRAY OF CHAR; HiChar : CHAR) : APTR;
  952. (*$ ENDIF *)
  953.     BEGIN
  954. (*$ IF Locale *)
  955.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  CAST(LONGCARD, m.MOLabelFlagSet{m.doubleFrame}) + LONGCARD(HiChar), ud.tagEnd)) ;
  956. (*$ ELSE *)
  957.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), CAST(LONGCARD, m.MOLabelFlagSet{m.doubleFrame}) + LONGCARD(HiChar), ud.tagEnd)) ;
  958. (*$ ENDIF *)
  959.     END KeyLabel2;
  960. (*\\\*)
  961. (*///  "KeyLLabelX" *)
  962. (*$ IF Locale *)
  963. PROCEDURE KeyLLabel(label : StrPtr; HiChar : CHAR) : APTR;
  964. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  965. PROCEDURE KeyLLabel(label : ARRAY OF CHAR; HiChar : CHAR) : APTR;
  966. (*$ ENDIF *)
  967.     BEGIN
  968. (*$ IF Locale *)
  969.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  CAST(LONGCARD, m.MOLabelFlagSet{m.leftAligned}) + LONGCARD(HiChar), ud.tagEnd)) ;
  970. (*$ ELSE *)
  971.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), CAST(LONGCARD, m.MOLabelFlagSet{m.leftAligned}) + LONGCARD(HiChar), ud.tagEnd)) ;
  972. (*$ ENDIF *)
  973.     END KeyLLabel;
  974.  
  975.  
  976. (*$ IF Locale *)
  977. PROCEDURE KeyLLabel1(label : StrPtr; HiChar : CHAR) : APTR;
  978. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  979. PROCEDURE KeyLLabel1(label : ARRAY OF CHAR; HiChar : CHAR) : APTR;
  980. (*$ ENDIF *)
  981.     BEGIN
  982. (*$ IF Locale *)
  983.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  CAST(LONGCARD, m.MOLabelFlagSet{m.leftAligned, m.singleFrame}) + LONGCARD(HiChar), ud.tagEnd)) ;
  984. (*$ ELSE *)
  985.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), CAST(LONGCARD, m.MOLabelFlagSet{m.leftAligned, m.singleFrame}) + LONGCARD(HiChar), ud.tagEnd)) ;
  986. (*$ ENDIF *)
  987.     END KeyLLabel1;
  988.  
  989.  
  990. (*$ IF Locale *)
  991. PROCEDURE KeyLLabel2(label : StrPtr; HiChar : CHAR) : APTR;
  992. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  993. PROCEDURE KeyLLabel2(label : ARRAY OF CHAR; HiChar : CHAR) : APTR;
  994. (*$ ENDIF *)
  995.     BEGIN
  996. (*$ IF Locale *)
  997.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  CAST(LONGCARD, m.MOLabelFlagSet{m.leftAligned, m.doubleFrame}) + LONGCARD(HiChar), ud.tagEnd)) ;
  998. (*$ ELSE *)
  999.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), CAST(LONGCARD, m.MOLabelFlagSet{m.leftAligned, m.doubleFrame}) + LONGCARD(HiChar), ud.tagEnd)) ;
  1000. (*$ ENDIF *)
  1001.     END KeyLLabel2;
  1002. (*\\\*)
  1003. (*///  "KeyCLabelX" *)
  1004. (*$ IF Locale *)
  1005. PROCEDURE KeyCLabel(label : StrPtr; HiChar : CHAR) : APTR;
  1006. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  1007. PROCEDURE KeyCLabel(label : ARRAY OF CHAR; HiChar : CHAR) : APTR;
  1008. (*$ ENDIF *)
  1009.     BEGIN
  1010. (*$ IF Locale *)
  1011.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  CAST(LONGCARD, m.MOLabelFlagSet{m.centered}) + LONGCARD(HiChar), ud.tagEnd)) ;
  1012. (*$ ELSE *)
  1013.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), CAST(LONGCARD, m.MOLabelFlagSet{m.centered}) + LONGCARD(HiChar), ud.tagEnd)) ;
  1014. (*$ ENDIF *)
  1015.     END KeyCLabel;
  1016.  
  1017.  
  1018. (*$ IF Locale *)
  1019. PROCEDURE KeyCLabel1(label : StrPtr; HiChar : CHAR) : APTR;
  1020. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  1021. PROCEDURE KeyCLabel1(label : ARRAY OF CHAR; HiChar : CHAR) : APTR;
  1022. (*$ ENDIF *)
  1023.     BEGIN
  1024. (*$ IF Locale *)
  1025.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  CAST(LONGCARD, m.MOLabelFlagSet{m.centered, m.singleFrame}) + LONGCARD(HiChar), ud.tagEnd)) ;
  1026. (*$ ELSE *)
  1027.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), CAST(LONGCARD, m.MOLabelFlagSet{m.centered, m.singleFrame}) + LONGCARD(HiChar), ud.tagEnd)) ;
  1028. (*$ ENDIF *)
  1029.     END KeyCLabel1;
  1030.  
  1031.  
  1032. (*$ IF Locale *)
  1033. PROCEDURE KeyCLabel2(label : StrPtr; HiChar : CHAR) : APTR;
  1034. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  1035. PROCEDURE KeyCLabel2(label : ARRAY OF CHAR; HiChar : CHAR) : APTR;
  1036. (*$ ENDIF *)
  1037.     BEGIN
  1038. (*$ IF Locale *)
  1039.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  CAST(LONGCARD, m.MOLabelFlagSet{m.centered, m.doubleFrame}) + LONGCARD(HiChar), ud.tagEnd)) ;
  1040. (*$ ELSE *)
  1041.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), CAST(LONGCARD, m.MOLabelFlagSet{m.centered, m.doubleFrame}) + LONGCARD(HiChar), ud.tagEnd)) ;
  1042. (*$ ENDIF *)
  1043.     END KeyCLabel2;
  1044. (*\\\*)
  1045.  
  1046. (*$ IF MUI3 *)
  1047.  
  1048. (*///  "FreeX" *)
  1049. (*$ IF Locale *)
  1050. PROCEDURE FreeLabel(label : StrPtr) : APTR;
  1051. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  1052. PROCEDURE FreeLabel(label : ARRAY OF CHAR) : APTR;
  1053. (*$ ENDIF *)
  1054.     BEGIN
  1055. (*$ IF Locale *)
  1056.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert}), ud.tagEnd)) ;
  1057. (*$ ELSE *)
  1058.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert}), ud.tagEnd)) ;
  1059. (*$ ENDIF *)
  1060.     END FreeLabel;
  1061.  
  1062.  
  1063. (*$ IF Locale *)
  1064. PROCEDURE FreeLabel1(label : StrPtr) : APTR;
  1065. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  1066. PROCEDURE FreeLabel1(label : ARRAY OF CHAR) : APTR;
  1067. (*$ ENDIF *)
  1068.     BEGIN
  1069. (*$ IF Locale *)
  1070.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.singleFrame}), ud.tagEnd)) ;
  1071. (*$ ELSE *)
  1072.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.singleFrame}), ud.tagEnd)) ;
  1073. (*$ ENDIF *)
  1074.     END FreeLabel1;
  1075.  
  1076.  
  1077. (*$ IF Locale *)
  1078. PROCEDURE FreeLabel2(label : StrPtr) : APTR;
  1079. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  1080. PROCEDURE FreeLabel2(label : ARRAY OF CHAR) : APTR;
  1081. (*$ ENDIF *)
  1082.     BEGIN
  1083. (*$ IF Locale *)
  1084.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.doubleFrame}), ud.tagEnd)) ;
  1085. (*$ ELSE *)
  1086.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.doubleFrame}), ud.tagEnd)) ;
  1087. (*$ ENDIF *)
  1088.     END FreeLabel2;
  1089. (*\\\*)
  1090. (*///  "FreeLLabelX" *)
  1091. (*$ IF Locale *)
  1092. PROCEDURE FreeLLabel(label : StrPtr) : APTR;
  1093. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  1094. PROCEDURE FreeLLabel(label : ARRAY OF CHAR) : APTR;
  1095. (*$ ENDIF *)
  1096.     BEGIN
  1097. (*$ IF Locale *)
  1098.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.leftAligned}), ud.tagEnd)) ;
  1099. (*$ ELSE *)
  1100.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.leftAligned}), ud.tagEnd)) ;
  1101. (*$ ENDIF *)
  1102.     END FreeLLabel;
  1103.  
  1104.  
  1105. (*$ IF Locale *)
  1106. PROCEDURE FreeLLabel1(label : StrPtr) : APTR;
  1107. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  1108. PROCEDURE FreeLLabel1(label : ARRAY OF CHAR) : APTR;
  1109. (*$ ENDIF *)
  1110.     BEGIN
  1111. (*$ IF Locale *)
  1112.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.leftAligned, m.singleFrame}), ud.tagEnd)) ;
  1113. (*$ ELSE *)
  1114.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.leftAligned, m.singleFrame}), ud.tagEnd)) ;
  1115. (*$ ENDIF *)
  1116.     END FreeLLabel1;
  1117.  
  1118.  
  1119. (*$ IF Locale *)
  1120. PROCEDURE FreeLLabel2(label : StrPtr) : APTR;
  1121. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  1122. PROCEDURE FreeLLabel2(label : ARRAY OF CHAR) : APTR;
  1123. (*$ ENDIF *)
  1124.     BEGIN
  1125. (*$ IF Locale *)
  1126.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.leftAligned, m.doubleFrame}), ud.tagEnd)) ;
  1127. (*$ ELSE *)
  1128.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.leftAligned, m.doubleFrame}), ud.tagEnd)) ;
  1129. (*$ ENDIF *)
  1130.     END FreeLLabel2;
  1131. (*\\\*)
  1132. (*///  "FreeCLabelX" *)
  1133. (*$ IF Locale *)
  1134. PROCEDURE FreeCLabel(label : StrPtr) : APTR;
  1135. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  1136. PROCEDURE FreeCLabel(label : ARRAY OF CHAR) : APTR;
  1137. (*$ ENDIF *)
  1138.     BEGIN
  1139. (*$ IF Locale *)
  1140.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.centered}), ud.tagEnd)) ;
  1141. (*$ ELSE *)
  1142.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.centered}), ud.tagEnd)) ;
  1143. (*$ ENDIF *)
  1144.     END FreeCLabel;
  1145.  
  1146.  
  1147. (*$ IF Locale *)
  1148. PROCEDURE FreeCLabel1(label : StrPtr) : APTR;
  1149. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  1150. PROCEDURE FreeCLabel1(label : ARRAY OF CHAR) : APTR;
  1151. (*$ ENDIF *)
  1152.     BEGIN
  1153. (*$ IF Locale *)
  1154.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.centered}) + LONGCARD(m.moLabelSingleFrame), ud.tagEnd)) ;
  1155. (*$ ELSE *)
  1156.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.centered}) + LONGCARD(m.moLabelSingleFrame), ud.tagEnd)) ;
  1157. (*$ ENDIF *)
  1158.     END FreeCLabel1;
  1159.  
  1160.  
  1161. (*$ IF Locale *)
  1162. PROCEDURE FreeCLabel2(label : StrPtr) : APTR;
  1163. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  1164. PROCEDURE FreeCLabel2(label : ARRAY OF CHAR) : APTR;
  1165. (*$ ENDIF *)
  1166.     BEGIN
  1167. (*$ IF Locale *)
  1168.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.centered, m.doubleFrame}), ud.tagEnd)) ;
  1169. (*$ ELSE *)
  1170.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.centered, m.doubleFrame}), ud.tagEnd)) ;
  1171. (*$ ENDIF *)
  1172.     END FreeCLabel2;
  1173. (*\\\*)
  1174.  
  1175. (*///  "FreeKeyX" *)
  1176. (*$ IF Locale *)
  1177. PROCEDURE FreeKeyLabel(label : StrPtr; HiChar : CHAR) : APTR;
  1178. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  1179. PROCEDURE FreeKeyLabel(label : ARRAY OF CHAR; HiChar : CHAR) : APTR;
  1180. (*$ ENDIF *)
  1181.     BEGIN
  1182. (*$ IF Locale *)
  1183.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert}) + LONGCARD(HiChar), ud.tagEnd)) ;
  1184. (*$ ELSE *)
  1185.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert}) + LONGCARD(HiChar), ud.tagEnd)) ;
  1186. (*$ ENDIF *)
  1187.     END FreeKeyLabel;
  1188.  
  1189.  
  1190. (*$ IF Locale *)
  1191. PROCEDURE FreeKeyLabel1(label : StrPtr; HiChar : CHAR) : APTR;
  1192. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  1193. PROCEDURE FreeKeyLabel1(label : ARRAY OF CHAR; HiChar : CHAR) : APTR;
  1194. (*$ ENDIF *)
  1195.     BEGIN
  1196. (*$ IF Locale *)
  1197.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.singleFrame}) + LONGCARD(HiChar), ud.tagEnd)) ;
  1198. (*$ ELSE *)
  1199.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.singleFrame}) + LONGCARD(HiChar), ud.tagEnd)) ;
  1200. (*$ ENDIF *)
  1201.     END FreeKeyLabel1;
  1202.  
  1203.  
  1204. (*$ IF Locale *)
  1205. PROCEDURE FreeKeyLabel2(label : StrPtr; HiChar : CHAR) : APTR;
  1206. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  1207. PROCEDURE FreeKeyLabel2(label : ARRAY OF CHAR; HiChar : CHAR) : APTR;
  1208. (*$ ENDIF *)
  1209.     BEGIN
  1210. (*$ IF Locale *)
  1211.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.doubleFrame}) + LONGCARD(HiChar), ud.tagEnd)) ;
  1212. (*$ ELSE *)
  1213.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.doubleFrame}) + LONGCARD(HiChar), ud.tagEnd)) ;
  1214. (*$ ENDIF *)
  1215.     END FreeKeyLabel2;
  1216. (*\\\*)
  1217. (*///  "FreeKeyLLabelX" *)
  1218. (*$ IF Locale *)
  1219. PROCEDURE FreeKeyLLabel(label : StrPtr; HiChar : CHAR) : APTR;
  1220. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  1221. PROCEDURE FreeKeyLLabel(label : ARRAY OF CHAR; HiChar : CHAR) : APTR;
  1222. (*$ ENDIF *)
  1223.     BEGIN
  1224. (*$ IF Locale *)
  1225.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.leftAligned}) + LONGCARD(HiChar), ud.tagEnd)) ;
  1226. (*$ ELSE *)
  1227.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.leftAligned}) + LONGCARD(HiChar), ud.tagEnd)) ;
  1228. (*$ ENDIF *)
  1229.     END FreeKeyLLabel;
  1230.  
  1231.  
  1232. (*$ IF Locale *)
  1233. PROCEDURE FreeKeyLLabel1(label : StrPtr; HiChar : CHAR) : APTR;
  1234. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  1235. PROCEDURE FreeKeyLLabel1(label : ARRAY OF CHAR; HiChar : CHAR) : APTR;
  1236. (*$ ENDIF *)
  1237.     BEGIN
  1238. (*$ IF Locale *)
  1239.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.leftAligned, m.singleFrame}) + LONGCARD(HiChar), ud.tagEnd)) ;
  1240. (*$ ELSE *)
  1241.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.leftAligned, m.singleFrame}) + LONGCARD(HiChar), ud.tagEnd)) ;
  1242. (*$ ENDIF *)
  1243.     END FreeKeyLLabel1;
  1244.  
  1245.  
  1246. (*$ IF Locale *)
  1247. PROCEDURE FreeKeyLLabel2(label : StrPtr; HiChar : CHAR) : APTR;
  1248. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  1249. PROCEDURE FreeKeyLLabel2(label : ARRAY OF CHAR; HiChar : CHAR) : APTR;
  1250. (*$ ENDIF *)
  1251.     BEGIN
  1252. (*$ IF Locale *)
  1253.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.leftAligned, m.doubleFrame}) + LONGCARD(HiChar), ud.tagEnd)) ;
  1254. (*$ ELSE *)
  1255.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.leftAligned, m.doubleFrame}) + LONGCARD(HiChar), ud.tagEnd)) ;
  1256. (*$ ENDIF *)
  1257.     END FreeKeyLLabel2;
  1258. (*\\\*)
  1259. (*///  "FreeKeyCLabelX" *)
  1260. (*$ IF Locale *)
  1261. PROCEDURE FreeKeyCLabel(label : StrPtr; HiChar : CHAR) : APTR;
  1262. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  1263. PROCEDURE FreeKeyCLabel(label : ARRAY OF CHAR; HiChar : CHAR) : APTR;
  1264. (*$ ENDIF *)
  1265.     BEGIN
  1266. (*$ IF Locale *)
  1267.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.centered}) + LONGCARD(HiChar), ud.tagEnd)) ;
  1268. (*$ ELSE *)
  1269.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.centered}) + LONGCARD(HiChar), ud.tagEnd)) ;
  1270. (*$ ENDIF *)
  1271.     END FreeKeyCLabel;
  1272.  
  1273.  
  1274. (*$ IF Locale *)
  1275. PROCEDURE FreeKeyCLabel1(label : StrPtr; HiChar : CHAR) : APTR;
  1276. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  1277. PROCEDURE FreeKeyCLabel1(label : ARRAY OF CHAR; HiChar : CHAR) : APTR;
  1278. (*$ ENDIF *)
  1279.     BEGIN
  1280. (*$ IF Locale *)
  1281.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.centered}) + LONGCARD(m.moLabelSingleFrame) + LONGCARD(HiChar), ud.tagEnd)) ;
  1282. (*$ ELSE *)
  1283.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.centered}) + LONGCARD(m.moLabelSingleFrame) + LONGCARD(HiChar), ud.tagEnd)) ;
  1284. (*$ ENDIF *)
  1285.     END FreeKeyCLabel1;
  1286.  
  1287.  
  1288. (*$ IF Locale *)
  1289. PROCEDURE FreeKeyCLabel2(label : StrPtr; HiChar : CHAR) : APTR;
  1290. (*$ ELSE *)(*$ CopyDyn := FALSE *)
  1291. PROCEDURE FreeKeyCLabel2(label : ARRAY OF CHAR; HiChar : CHAR) : APTR;
  1292. (*$ ENDIF *)
  1293.     BEGIN
  1294. (*$ IF Locale *)
  1295.         RETURN ml.MakeObject(m.moLabel, TAG(buffer,     label,  CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.centered, m.doubleFrame}) + LONGCARD(HiChar), ud.tagEnd)) ;
  1296. (*$ ELSE *)
  1297.         RETURN ml.MakeObject(m.moLabel, TAG(buffer, ADR(label), CAST(LONGCARD, m.MOLabelFlagSet{m.freeVert, m.centered, m.doubleFrame}) + LONGCARD(HiChar), ud.tagEnd)) ;
  1298. (*$ ENDIF *)
  1299.     END FreeKeyCLabel2;
  1300. (*\\\*)
  1301.  
  1302. (*$ ENDIF *)
  1303.  
  1304. (*
  1305. **
  1306. ** Controlling Objects
  1307. **
  1308. ** Note : get didn't work in previous releases
  1309. **
  1310. *)
  1311.  
  1312. (*///  "set, get,...." *)
  1313.  
  1314. PROCEDURE get(obj : APTR; attr : LONGCARD; store : ADDRESS);
  1315.     BEGIN DoMethod(obj,TAG(buffer, id.omGET, attr, store));
  1316.     END get;
  1317.  
  1318. PROCEDURE set(obj : APTR; attr : LONGCARD; value : LONGINT);
  1319.     VAR dummy : APTR;
  1320.     BEGIN dummy := il.SetAttrsA(obj, TAG(buffer,attr,value,ud.tagEnd));
  1321.     END set;
  1322.  
  1323. PROCEDURE setmutex(obj : APTR; n : LONGINT);
  1324.     BEGIN set(obj,m.maRadioActive,n);
  1325.     END setmutex;
  1326.  
  1327. PROCEDURE setcycle(obj : APTR; n : LONGINT);
  1328.     BEGIN set(obj,m.maCycleActive,n);
  1329.     END setcycle;
  1330.  
  1331. (*$ IF Locale *)
  1332. PROCEDURE setstring(obj : APTR; s : StrPtr);
  1333.     BEGIN set(obj,m.maStringContents,s);
  1334.     END setstring;
  1335. (*$ ELSE *) (*$ CopyDyn := FALSE *)
  1336. PROCEDURE setstring(obj : APTR; s : ARRAY OF CHAR);
  1337.     BEGIN set(obj,m.maStringContents,ADR(s));
  1338.     END setstring;
  1339. (*$ ENDIF *)
  1340.  
  1341. PROCEDURE setcheckmark(obj : APTR; b : BOOLEAN);
  1342.     BEGIN
  1343.         IF b THEN set(obj,m.maSelected,1);
  1344.              ELSE set(obj,m.maSelected,0);
  1345.              END;
  1346.     END setcheckmark;
  1347.  
  1348. PROCEDURE setslider(obj : APTR; l : LONGINT);
  1349.     BEGIN
  1350. (*$ IF MUI3 *)
  1351.       set(obj,m.maNumericValue,l);
  1352. (*$ ELSE *)
  1353.       set(obj,m.maSliderLevel,l);
  1354. (*$ ENDIF *)
  1355.     END setslider;
  1356.  
  1357. (*\\\*)
  1358. (*///  "NoteClose" *)
  1359. (*
  1360. ** NoteClose (app,obj,ID)
  1361. *)
  1362. PROCEDURE NoteClose(app : APTR; obj : APTR; ID  : LONGINT);
  1363.     BEGIN DoMethod(obj,TAG(buffer, m.mmNotify,m.maWindowCloseRequest,TRUE, app,2,m.mmApplicationReturnID,ID));
  1364.     END NoteClose;
  1365. (*\\\*)
  1366. (*///  "NoteButton" *)
  1367. (*
  1368. **  Notebutton (app,obj,ID)
  1369. *)
  1370. PROCEDURE NoteButton(app : APTR; obj : APTR; ID  : LONGINT);
  1371.     BEGIN DoMethod(obj,TAG(buffer, m.mmNotify,m.maPressed, FALSE, app,2,m.mmApplicationReturnID,ID));
  1372.     END NoteButton;
  1373. (*\\\*)
  1374. (*///  "RemMember" *)
  1375. (*
  1376. ** RemMember (obj,member)
  1377. *)
  1378.  
  1379. PROCEDURE RemMember(obj : APTR; member : APTR);
  1380.     BEGIN DoMethod(obj,TAG(buffer, id.omREMMEMBER, member));
  1381.     END RemMember;
  1382. (*\\\*)
  1383. (*///  "AddMember" *)
  1384. (*
  1385. ** AddMember (obj,member)
  1386. *)
  1387.  
  1388. PROCEDURE AddMember(obj : APTR; member : APTR);
  1389.     BEGIN DoMethod(obj,TAG(buffer, id.omADDMEMBER, member));
  1390.     END AddMember;
  1391. (*\\\*)
  1392.  
  1393. END MuiMacros.
  1394.  
  1395.  
  1396.  
  1397.  
  1398.  
  1399.  
  1400.  
  1401.